﻿using System.Linq;
using BizWeb.Models;
using System;

namespace BizWeb.Models.Interface
{

    public interface IPost
    {
        // Query Methods
        IQueryable<Site_Post> AllPosts();
        IQueryable<Site_Post> AllPosts(bool includeNonPublished);
        IQueryable<Site_Post> RecentPosts(Int32 days);
        IQueryable<Site_Post> AllPostsForTag(String tag);
        IQueryable<Site_Post> AllPostsForTag(Guid id);
        Site_Post GetPost(Guid id);
        Site_Post GetPost(DateTime date, String slug);

        // 'Action' Methods
        void Add(Site_Post post);
        void Delete(Site_Post post);
        void Save();
    }

}